CREATE TABLE নতুন LIKE পুরাতন;

-- ধাপ ২: শুধু business_id=20 এর ডেটা কপি
INSERT INTO contacts_n
SELECT * FROM contacts
WHERE business_id = 20;

RENAME TABLE customer TO customers;

-- JOIN ব্যবহার করে product_variations থেকে শুধুমাত্র products_n এ থাকা id গুলোর ডাটা কপি
INSERT INTO product_variations_n (
    id,
    variation_template_id,
    name,
    product_id,
    is_dummy,
    created_at,
    updated_at
)
SELECT 
    pv.id,
    pv.variation_template_id,
    pv.name,
    pv.product_id,
    pv.is_dummy,
    pv.created_at,
    pv.updated_at
FROM product_variations pv
INNER JOIN products_n pn ON pv.product_id = pn.id;

-- JOIN ব্যবহার করে শুধুমাত্র transactions_n এ থাকা transaction_id গুলোর ডাটা কপি
INSERT INTO transaction_sell_lines_n (
    id,
    transaction_id,
    product_id,
    variation_id,
    quantity,
    secondary_unit_quantity,
    quantity_returned,
    unit_price_before_discount,
    unit_price,
    line_discount_type,
    line_discount_amount,
    unit_price_inc_tax,
    item_tax,
    tax_id,
    discount_id,
    lot_no_line_id,
    sell_line_note,
    so_line_id,
    so_quantity_invoiced,
    res_service_staff_id,
    res_line_order_status,
    parent_sell_line_id,
    children_type,
    sub_unit_id,
    created_at,
    updated_at
)
SELECT 
    tsl.id,
    tsl.transaction_id,
    tsl.product_id,
    tsl.variation_id,
    tsl.quantity,
    tsl.secondary_unit_quantity,
    tsl.quantity_returned,
    tsl.unit_price_before_discount,
    tsl.unit_price,
    tsl.line_discount_type,
    tsl.line_discount_amount,
    tsl.unit_price_inc_tax,
    tsl.item_tax,
    tsl.tax_id,
    tsl.discount_id,
    tsl.lot_no_line_id,
    tsl.sell_line_note,
    tsl.so_line_id,
    tsl.so_quantity_invoiced,
    tsl.res_service_staff_id,
    tsl.res_line_order_status,
    tsl.parent_sell_line_id,
    tsl.children_type,
    tsl.sub_unit_id,
    tsl.created_at,
    tsl.updated_at
FROM transaction_sell_lines tsl
INNER JOIN transactions_n tn ON tsl.transaction_id = tn.id;

-- products_n এর সব id এর জন্য variations থেকে ডাটা কপি করা
INSERT INTO variations_n (
    id,
    name,
    product_id,
    sub_sku,
    product_variation_id,
    variation_value_id,
    default_purchase_price,
    dpp_inc_tax,
    profit_percent,
    default_sell_price,
    sell_price_inc_tax,
    created_at,
    updated_at,
    deleted_at,
    combo_variations
)
SELECT 
    v.id,
    v.name,
    v.product_id,
    v.sub_sku,
    v.product_variation_id,
    v.variation_value_id,
    v.default_purchase_price,
    v.dpp_inc_tax,
    v.profit_percent,
    v.default_sell_price,
    v.sell_price_inc_tax,
    v.created_at,
    v.updated_at,
    v.deleted_at,
    v.combo_variations
FROM variations v
WHERE v.product_id IN (
    SELECT id FROM products_n
);

-- JOIN ব্যবহার করে শুধুমাত্র variations_n এ থাকা variation_id গুলোর ডাটা কপি
INSERT INTO variation_group_prices_n (
    id,
    variation_id,
    price_group_id,
    price_inc_tax,
    price_type,
    created_at,
    updated_at
)
SELECT 
    vgp.id,
    vgp.variation_id,
    vgp.price_group_id,
    vgp.price_inc_tax,
    vgp.price_type,
    vgp.created_at,
    vgp.updated_at
FROM variation_group_prices vgp
INNER JOIN variations_n vn ON vgp.variation_id = vn.id;

INSERT INTO variation_location_details_n
SELECT * FROM variation_location_details

